package com.kh.samr.entity.plan_project;

import com.kh.samr.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 项目主要负责人信息
 *
 * @author Harry
 * @date 2021/1/6
 */
@ApiModel(description = "项目主要负责人信息")
@Table(name = "pp_principal")
@EqualsAndHashCode(callSuper = true)
@Entity(name = "pp_principal")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Principal extends BaseEntity {
	
	private static final long serialVersionUID = 8912233894233932723L;
	
	/**
	 * 人员信息标准唯一标识
	 */
	@ApiModelProperty(value = "人员信息标准唯一标识", readOnly = true)
	@Column(length = 36)
	private String memberStandardId;
	
	/**
	 * 真实姓名
	 */
	@ApiModelProperty(value = "真实姓名", readOnly = true)
	@Column(length = 100)
	private String fullName;
	
	/**
	 * 证件类型
	 */
	@ApiModelProperty(value = "证件类型", readOnly = true)
	@Column(length = 4)
	private String idType;
	
	/**
	 * 证件号码
	 */
	@ApiModelProperty(value = "证件号码", readOnly = true)
	@Column(length = 20, nullable = false)
	private String idNumber;
	
	/**
	 * 年龄
	 */
	@ApiModelProperty(value = "年龄", readOnly = true)
	@Column(nullable = false)
	private int age;
	
	/**
	 * 性别
	 */
	@ApiModelProperty(value = "性别", readOnly = true)
	@Column(length = 10, nullable = false)
	private String gender;
	
	/**
	 * 国籍
	 */
	@ApiModelProperty(value = "国籍", readOnly = true)
	@Column(length = 50, nullable = false)
	private String nationality;
	
	/**
	 * 民族
	 */
	@ApiModelProperty(value = "民族", readOnly = true)
	@Column(length = 20, nullable = false)
	private String national;
	
	/**
	 * 最终学历
	 */
	@ApiModelProperty(value = "最终学历", readOnly = true)
	@Column(length = 10)
	private String education;
	
	/**
	 * 最终学位
	 */
	@ApiModelProperty(value = "最终学位", readOnly = true)
	@Column(length = 10)
	private String degree;
	
	/**
	 * 毕业院校
	 */
	@ApiModelProperty(value = "毕业院校", readOnly = true)
	@Column(length = 100)
	private String graduatedFrom;
	
	/**
	 * 所学专业
	 */
	@ApiModelProperty(value = "所学专业", readOnly = true)
	@Column(length = 50)
	private String learnProfessional;
	
	/**
	 * 从事专业
	 */
	@ApiModelProperty(value = "从事专业", readOnly = true)
	@Column(length = 50)
	private String engagedProfessional;
	
	/**
	 * 是否留学归国
	 */
	@ApiModelProperty(value = "是否留学归国", readOnly = true)
	private boolean studyingAbroadReturned;
	
	/**
	 * 留学国家
	 */
	@ApiModelProperty(value = "留学国家", readOnly = true)
	@Column(length = 50)
	private String studyAbroadCountry;
	
	/**
	 * 留学国家2
	 */
	@ApiModelProperty(value = "留学国家2", readOnly = true)
	@Column(length = 50)
	private String studyAbroadCountry2;
	
	/**
	 * 国外毕业院校1
	 */
	@ApiModelProperty(value = "国外毕业院校1", readOnly = true)
	@Column(length = 100)
	private String graduatedFromForeign1;
	
	/**
	 * 国外毕业院校2
	 */
	@ApiModelProperty(value = "国外毕业院校2", readOnly = true)
	@Column(length = 100)
	private String graduatedFromForeign2;
	
	/**
	 * 手机号码
	 */
	@ApiModelProperty(value = "手机号码", readOnly = true)
	@Column(length = 20, nullable = false)
	private String phoneNumber;
	
	/**
	 * 电子邮箱
	 */
	@ApiModelProperty(value = "电子邮箱", readOnly = true)
	private String email;
	
	/**
	 * 联系电话
	 */
	@ApiModelProperty(value = "联系电话", readOnly = true)
	@Column(length = 20)
	private String telephone;
	
	/**
	 * 联系传真
	 */
	@ApiModelProperty(value = "联系传真", readOnly = true)
	@Column(length = 20)
	private String fax;
	
	/**
	 * 单位名称
	 */
	@ApiModelProperty(value = "单位名称", readOnly = true)
	@Column(length = 50)
	private String companyName;
	
	/**
	 * 职称级别
	 */
	@ApiModelProperty(value = "职称级别", readOnly = true)
	@Column(length = 50)
	private String titleLevel;
	
	/**
	 * 职称系列
	 */
	@ApiModelProperty(value = "职称系列", readOnly = true)
	@Column(length = 50)
	private String titleSeries;
	
	/**
	 * 单位地址
	 */
	@ApiModelProperty(value = "单位地址", readOnly = true)
	@Column(length = 100)
	private String companyAddress;
	
	/**
	 * 邮政编码
	 */
	@ApiModelProperty(value = "邮政编码", readOnly = true)
	@Column(length = 100)
	private String postalCode;
	
	/**
	 * 所在部门
	 */
	@ApiModelProperty(value = "所在部门", readOnly = true)
	@Column(length = 100)
	private String department;
	
	/**
	 * 单位职务
	 */
	@ApiModelProperty(value = "单位职务", readOnly = true)
	@Column(length = 100)
	private String dutuies;
	
	/**
	 * 享受省级政府特殊津贴
	 */
	@ApiModelProperty(value = "享受省级政府特殊津贴", readOnly = true)
	@Column(length = 4)
	private String provincialAllowance;
}
